package kusterordonio.dominio;

import java.io.Serializable;
import java.util.*;

public class Embarazo implements Serializable {

    private int numero;
    private int cantControles;
    private boolean unico;
    private boolean multiple;
    private boolean vdrlMas;
    private boolean vdrlMenos;
    private String  tratamiento;
    private String  grupoSanguineo;
    private boolean rhPos;
    private boolean rhNeg;
    private boolean espontaneo;
    private boolean forceps;
    private boolean cesarea;
    private boolean institucional;
    private boolean enDomicilio;
    private boolean patEmbarazoSi;
    private boolean patEmbarazoNo;
    private String patologiaEmbarazo;
    private boolean patPartoSi;
    private boolean patPartoNo;
    private String patologiaParto;
    private boolean patPuerperioSi;
    private boolean patPuerperioNo;
    private String patologiaPuerperio;

    public Embarazo(){
       this.setNumero(0);
       this.setCantControles(-1);
       this.setUnico(false);
       this.setMultiple(false);
       this.setVdrlMas(false);
       this.setVdrlMenos(false);
       this.setTratamiento("");
       this.setGrupoSanguineo(" ");
       this.setRhPos(false);
       this.setRhNeg(false);
       this.setEspontaneo(false);
       this.setForceps(false);
       this.setCesarea(false);
       this.setInstitucional(false);
       this.setEnDomicilio(false);
       this.setPatEmbarazoSi(false);
       this.setPatEmbarazoNo(false);
       this.setPatologiaEmbarazo("");
       this.setPatPartoSi(false);
       this.setPatPartoNo(false);
       this.setPatologiaParto("");
       this.setPatPuerperioSi(false);
       this.setPatPuerperioNo(false);
       this.setPatologiaPuerperio("");
    }
    
    public Embarazo(int numero, int cantControles, boolean unico, boolean vdrl, String grupoSanguineo, boolean rh, boolean institucional, boolean patEmbarazo, boolean patParto, boolean patPuerperio) {
        this.setNumero(numero);
        this.setCantControles(cantControles);
        this.setUnico(unico);
        this.setGrupoSanguineo(grupoSanguineo);
        this.setInstitucional(institucional);
    }

    public boolean isEnDomicilio() {
        return enDomicilio;
    }

    public void setEnDomicilio(boolean enDomicilio) {
        this.enDomicilio = enDomicilio;
    }

    public boolean isMultiple() {
        return multiple;
    }

    public void setMultiple(boolean multiple) {
        this.multiple = multiple;
    }

    public boolean isRhNeg() {
        return rhNeg;
    }

    public void setRhNeg(boolean rhNeg) {
        this.rhNeg = rhNeg;
    }

    public boolean isRhPos() {
        return rhPos;
    }

    public void setRhPos(boolean rhPos) {
        this.rhPos = rhPos;
    }

    public boolean isVdrlMas() {
        return vdrlMas;
    }

    public void setVdrlMas(boolean vdrlMas) {
        this.vdrlMas = vdrlMas;
    }

    public boolean isVdrlMenos() {
        return vdrlMenos;
    }

    public void setVdrlMenos(boolean vdrlMenos) {
        this.vdrlMenos = vdrlMenos;
    }

    public int getCantControles() {
        return cantControles;
    }

    public void setCantControles(int cantControles) {
        this.cantControles = cantControles;
    }

    public boolean isCesarea() {
        return cesarea;
    }

    public void setCesarea(boolean cesarea) {
        this.cesarea = cesarea;
    }

    public boolean isEspontaneo() {
        return espontaneo;
    }

    public void setEspontaneo(boolean espontaneo) {
        this.espontaneo = espontaneo;
    }

    public boolean isForceps() {
        return forceps;
    }

    public void setForceps(boolean forceps) {
        this.forceps = forceps;
    }

    public String getGrupoSanguineo() {
        return grupoSanguineo;
    }

    public void setGrupoSanguineo(String grupoSanguineo) {
        this.grupoSanguineo = grupoSanguineo;
    }

    public boolean isInstitucional() {
        return institucional;
    }

    public void setInstitucional(boolean institucional) {
        this.institucional = institucional;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public boolean isPatEmbarazoNo() {
        return patEmbarazoNo;
    }

    public void setPatEmbarazoNo(boolean patEmbarazoNo) {
        this.patEmbarazoNo = patEmbarazoNo;
    }

    public boolean isPatEmbarazoSi() {
        return patEmbarazoSi;
    }

    public void setPatEmbarazoSi(boolean patEmbarazoSi) {
        this.patEmbarazoSi = patEmbarazoSi;
    }

    public boolean isPatPartoNo() {
        return patPartoNo;
    }

    public void setPatPartoNo(boolean patPartoNo) {
        this.patPartoNo = patPartoNo;
    }

    public boolean isPatPartoSi() {
        return patPartoSi;
    }

    public void setPatPartoSi(boolean patPartoSi) {
        this.patPartoSi = patPartoSi;
    }

    public boolean isPatPuerperioNo() {
        return patPuerperioNo;
    }

    public void setPatPuerperioNo(boolean patPuerperioNo) {
        this.patPuerperioNo = patPuerperioNo;
    }

    public boolean isPatPuerperioSi() {
        return patPuerperioSi;
    }

    public void setPatPuerperioSi(boolean patPuerperioSi) {
        this.patPuerperioSi = patPuerperioSi;
    }

    public String getPatologiaEmbarazo() {
        return patologiaEmbarazo;
    }

    public void setPatologiaEmbarazo(String patologiaEmbarazo) {
        this.patologiaEmbarazo = patologiaEmbarazo;
    }

    public String getPatologiaParto() {
        return patologiaParto;
    }

    public void setPatologiaParto(String patologiaParto) {
        this.patologiaParto = patologiaParto;
    }

    public String getPatologiaPuerperio() {
        return patologiaPuerperio;
    }

    public void setPatologiaPuerperio(String patologiaPuerperio) {
        this.patologiaPuerperio = patologiaPuerperio;
    }

    public String getTratamiento() {
        return tratamiento;
    }

    public void setTratamiento(String tratamiento) {
        this.tratamiento = tratamiento;
    }

    public boolean isUnico() {
        return unico;
    }

    public void setUnico(boolean unico) {
        this.unico = unico;
    }
    
    //Controla que la cantidad de embarazos no sea mayor a 20 (este número es arbitrario)
    public boolean controlCantEmbarazo(int numero){    
       return numero >0 && numero < 20;
    }
    
    //Controla que la cantidad de controles sea un número razonable
    public boolean controlCantControles(int numero){    
       return numero >=0 && numero < 85;
    }
}
